#ifndef SPRITE_H
#define SPRITE_H

#include <string>
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
#include <SDL/SDL_rotozoom.h>

using namespace std;

class Sprite{
    public:
        //métodos da classe
        Sprite(string fileName, int x, int y); //construtor
        void Render(SDL_Surface *screen);
        void UpdatePos(int x, int y);
        SDL_Rect GetRect();
        bool boxCollidesWith(Sprite *sprite);
        void setZoom(double zoom);
        void setRot(double angle);
        void setCenter(Sprite *center);

        //atributos da classe
        int x, y;
        string fileName;
        SDL_Surface *surface;
        SDL_Rect rectangle;
        Sprite *center;

    private:
        SDL_Surface *surfaceRotoZoom;
        SDL_Rect rectRotoZoom;
        SDL_Rect rectRot;
        double angle;
        double zoom;

};

#endif //SPRITE_H
